This invention relates generally to improvements in digital versatile disc systems and, more particularly, to improved transfer among titles in a digital versatile disc system.
Digital versatile discs (DVDs) are information storage devices used for storing prerecorded audio information, movies and computer software. The storage and playback mechanism used in DVDs closely resembles the mechanism used in compact discs (CDS) and DVD players use the same laser technology as CD players. Briefly, both DVDs and CDS store information as a pattern of pits formed in a metallic substrate. The pit patterns form digital words and can be read by shining a laser beam on the disc surface and detecting the reflected beam. However, the information storage capacity of a typical DVD is much higher than that of a CD. Presently available DVDs have a variety of capacities which depend on the technology used to manufacture the discs. Single-layer technologies can be either single or double-sided with capacities of 4.7 gigabytes and 9.4 gigabytes, respectively. Dual layer technologies will soon be available which use single or double sided capacities that hold approximately 8.5 gigabytes per side. This high information storage capacity makes DVDs suitable for storing not only audio information, but also video information and large amounts of computer data as well.
DVD players have many CD player features, such as the ability to play selections in any order desired and the ability to read information from any point on the disc. DVDs, however can store information in several formats. For example, DVDs which are used to store video information (hereinafter called DVD-VIDEO discs) may use various known information compression algorithms, such as MPEG-2 for video compression/decompression. A DVD may also include high fidelity sound data. In addition, a DVD may also store uncompressed linear pulse code modulated data streams which have sample rates between 48-90 kHz and are sampled at 16 or 24 bits. Still other DVD versions (hereinafter called DVD-ROM discs) can store digital data for computer use, and the data may also be compressed on these discs.
Although DVD-ROM and DVD-VIDEO discs share compression algorithms, the data format on DVD-VIDEO discs is significantly different than the data format found on DVD-ROM discs. One important difference is that the data content on DVD-ROM is platform-specific, while DVD-VIDEO discs operate with a platform independent navigation engine for playing interactive movies. The files on the DVD-VIDEO disc may be referenced in predetermined directory structure.
In particular, each DVD-VIDEO disc typically contains a main directory denoted as a VIDEO_TS directory which contains two types of files distinguished with the file extensions .IFO and .VOB. During playback, these files are sorted by a DVD video player to form video xe2x80x9ctitlexe2x80x9d sets, which are groupings of all files necessary to play a particular DVD video xe2x80x9ctitlexe2x80x9d, for example, a movie. Each video title set is composed of one .IFO file and one or more .VOB files.
A file with the .VOB extension contains the actual multimedia data and is called a video object set. The location and format of the multimedia data stored in the video object set is defined by the associated .IFO file. In particular, .IFO files contain navigational data structures and a processor-independent interpreted language which specifies how the data structures are arranged.
The data structures themselves are composed of various objects called xe2x80x9cprogram chain objectsxe2x80x9d, xe2x80x9cprogram objectsxe2x80x9d, and xe2x80x9ccell objectsxe2x80x9d. Program chain objects link related program objects (or particular scenes) within a title and their data structures govern the playback of the program objects. For example, a simple title may contain only one program chain. However, complex titles may contain two or more program chains to allow random access to a variety of programs. The multiple program chain title can play programs linearly, randomly or in a xe2x80x9cshufflexe2x80x9d mode.
Each program object in a program chain is composed of elements called xe2x80x9ccell objectsxe2x80x9d. These objects instruct a DVD player as to which portion of the multimedia data in one of the .VOB files to decode. In particular, the data structures in a cell object are defined in the .IFO file and the multimedia content is found in one of the .VOB files. Each cell object directs the DVD player to begin playback at a specific location in the .VOB file which is referred to as a video object unit or xe2x80x9cVOBUxe2x80x9d. A VOBU is a container object that includes navigational data as well as multimedia data.
Navigational input can also be obtained directly from a user by means of navigational buttons which are displayed under playback program control on screen along with the multimedia data. The playback program controls both the time duration that the button appears on the screen and the manner that the system responds to the selection of a button by a user. For example, user selection of a button may cause the playback program to jump to a new location on the disc and begin playback at the new location.
The specific navigational commands which are recognized by a DVD player are controlled by a device independent language and a set of DVD player parameters which define the current state of the DVD player. These navigational commands can be broken into several categories including the following: Set, SetSystem, GoTo, Link, Jump and Compare.
Set commands permit primitive operations, such as compare or assignment operations, to manipulate the values of selected stored parameters. SetSystem commands are used to set the internal system parameters of the player. GoTo commands are used to skip to a specific instruction number in the instruction stream and Link and Jump commands cause program execution to jump to various locations within a title or menu on the disc. Finally, Compare commands allow value testing on either a system or user parameter.
The aforementioned DVD navigation commands provide an efficient way to move to different locations on a DVD disc, under program control. Unfortunately, switching titles, more specifically, switching between the playback of program data associated with one title and the playback of program data associated with another title, is typically not a seamless operation. The process of setting up a title""s program data for playback requires a DVD player to read setup information associated with a title, such as may be stored in the .IFO files, verify the information, and then proceed with displaying multimedia information, or the program data itself. That is, the setup information is read from the DVD disc, copy protection authentication is performed, the data""s validity is checked, and objects are created to process the .IFO and .VOB data related to the title. Should a user wish to transfer from one title, that is, from playback of the program data contained within one .VOB file, to another, the user generally must wait for these operations to take place before playback can proceed to the next requested title. While it is conceivable that the set up data for all titles on a DVD disc could be stored within a player""s local memory, thereby increasing the speed with which the title set up data could be read and verified, memory requirements render this approach impractical and cost-prohibitive. A DVD playback apparatus and method which increase the speed with which title playback may be transferred, without requiring the volumes of local memory necessary for storing all the DVD discs title set up information and objects would, therefore, be highly desirable.
The foregoing need is satisfied in one embodiment of the present invention, in which the set up information and objects associated with some of a DVD""s titles are stored in a DVD player""s local memory. Title information is chosen for storage based upon the likelihood that a title will be played. More specifically, the storage choice is based upon the likelihood that the program data associated with a title and is typically contained within a .VOB object, will be played. In this manner, set up information and objects related to titles that are likely to be played will be readily accessible to a player and, at the same time, a player""s relatively high-speed storage will not be over-burdened with information and objects related to titles that are not likely to be played. The likelihood that a title will be played is balanced against the availability of local memory for storing this information.
In accordance with the principles of the present invention, titles are ranked according to the likelihood they might be played and titles of lower rank may be purged from the local memory set aside for this task, referred to hereinafter as the xe2x80x9ctitle cachexe2x80x9d. In the illustrative embodiment, six criteria are used to rank a title as extremely likely, highly likely, likely, or not likely to be played. A title ranked extremely likely to be played has top caching priority, one that is highly likely to be played has the second highest caching priority, and so on.
If a title has been played more than a threshold number of times in a playback session, or if the title has been specifically requested by a user, the title is given the highest likelihood of playback ranking, i.e., xe2x80x9cextremely likelyxe2x80x9d. Title usage information is stored by a DVD player, which may be a component of a computer system, for example, in order to determine a specific title""s popularity. If a title is the target of a potential branch, or if a title is xe2x80x9cdistantxe2x80x9d from previously played titles, the title is given the second highest ranking, i.e., xe2x80x9chighly likelyxe2x80x9d. If DVD highlight information, information employed to list title options to a user, indicates that a title is the subject of a user option, that title is given the third highest ranking, that of xe2x80x9clikelyxe2x80x9d.
Each time a title""s set up information is read, the title is ranked for caching, as set forth above. A title""s information is stored, or cached, if there is sufficient storage area within the title cache after title information related to titles of lower priority is removed. In the illustrative embodiment, title information is only removed from the cache should a title of either the highest or second highest priority ranking require storage and title information of a lower ranking occupies space in the cache. The amount of local memory set aside for title caching may be adjusted, thereby permitting a greater or lesser number of titles to be stored. Additionally, the state of the title cache is stored every time a user plays a DVD disc. As a result, an initial caching list based on previous usage patterns is established. Items in the initial cache retain the criteria weighting earned in a previous playback session. However, in the illustrative embodiment, ranking information is related to a specific user, through a log-in mechanism for example, so that rankings related to a present user will not be overridden by rankings from a previous user.